package cn.iocoder.yudao.module.shop.controller.admin.handlestrategy.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import javax.validation.constraints.*;

/**
 * 手工费结算策略 Base VO，提供给添加、修改、详细的子 VO 使用
 * 如果子 VO 存在差异的字段，请不要添加到这里，影响 Swagger 文档生成
 */
@Data
public class ShopHandleStrategyBaseVO {

    @Schema(description = "策略名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
    @NotNull(message = "策略名称不能为空")
    private String name;

    @Schema(description = "策略参数", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "策略参数不能为空")
    private String strategy;

    @Schema(description = "首充奖励百分比", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "首充奖励百分比不能为空")
    private Integer firstChargeBonusRate;

    @Schema(description = "是否启用", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "是否启用不能为空")
    private Boolean enabled;

    @Schema(description = "基础工资", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "基础工资不能为空")
    private Integer baseSalary;

    @Schema(description = "全勤奖励", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "全勤奖励不能为空")
    private Integer noholidayBonus;

    @Schema(description = "请假每天扣除", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "请假每天扣除不能为空")
    private Integer deductHoliday;

}
